package Modelo;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class Teletransportacion extends Habilidad{

	private int cantidadDePasos;
	
	public Teletransportacion(){
		this.cantidadDePasos=Constantes.CANTIDAD_PASOS_MAX_A_TRANSPORTAR;
	}
	
	public int getCantidadDePasos() {
		return cantidadDePasos;
	}

	public void setCantidadDePasos(int cantidadDePasos) {
		this.cantidadDePasos = cantidadDePasos;
	}

	public void transportarUnPaso(){
		this.cantidadDePasos--;
	}
	
	@Override
	public void activar(Pooglin pooglin) {
		// TODO Auto-generated method stub
		// Aca se tiene que poder activar la habilidad sobre
		// el pooglin seleccionado
		pooglin.setHabilidad(this);
	}

	@Override
	public void utilizar(Pooglin pooglin, Bloque bloque) {
		// TODO Auto-generated method stub
		if (bloque.getPosicion().getPosicionX()==pooglin.getPosicion().getPosicionX()+1)
			if (this.getCantidadDePasos()>0){	
				bloque.transportarPooglin(pooglin);
				pooglin.mover();
			}else{
				pooglin.setHabilidad(null);
				pooglin.mover();
			}		
		}	
	
	public Element toXml(Document doc) {
		// TODO Auto-generated method stub
		Element xmlElement = doc.createElement("Habilidad");
		xmlElement.setAttribute("Tipo", "Teletransportacion");
		xmlElement.setAttribute("cantidadDePasos", ""+this.cantidadDePasos);
		
		return xmlElement;
	}	
}
